# 一、元组练习
# tup=("nihao","wohao","dajiahao")
# # a. 计算元组长度并输出
# print(len(tup))
# # b.获取元组第2个元素并输出
# print(tup[1])
# # c.获取元素第2-3个元素并输出
# print(tup[1:3])
# # d.使用for循环遍历输出元组
# for i in tup:
#     print(i,end=" ")
# print()
# for i in range(len(tup)):
#     print(tup[i],end=" ")


# 二、字典练习题：
# 按照要求实现每一个功能
dict = {"k1":"v1","k2":"v2","k3":"v3"}
# 1、请循环遍历出所有的key
# for i in dict.keys():
#     print(i)
# 2、请循环遍历出所有的value
# for i in dict.values():
#     print(i)
# 3、请循环遍历出所有的key和value
# for i,j in dict.items():
#     print(i,j)
# 4、请在字典中增加一个键值对,"k4":"v4"，输出添加后的字典
# dict.update({"k4":"v4"})
# print(dict)
# 5、请删除字典中键值对"k1":"v1",并输出删除后的结果
# dict.pop("k1")
# print(dict)
# 6、请删除字典中键"k5"对应的键值对，如果字典中不存在键"k5",则不报错，返回None
# try:
#     dict.pop("k5")
# except:
#     print(None)
# 7、请获取字典中"k2"对应的值
# print(dict.get("k2"))
# 8、请获取字典中"k6"对应的值,如果不存在，则不报错，并且让其返回None。
# print(dict.get("k6"))
# 9、现有dict2 = {"k1":"v1","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
# dict2 = {"k1":"v1","a":"b"}
# # dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
# dict2.update({"k2":"v2","k3":"v3"})
# 三、集合练习题：
# 1、生成了N个1~100之间的随机整数（N<=1000），N是用户输入的； 对于期指其中重复的数字，只保留一个，把其余相同的数字去掉；
# n = int(input("输入N"))
# set1 = set()
# if n <=1000:
#     import random
#     for i in range(n):
#         set1.add(random.randint(1,100))
# print(set1)
# 2、怎么使用集合完成列表的去重操作，并将最终的列表由大到小排序输出。
# list1 = [123,456,18,18,456,7231,523,1531,321,5615,631,561,2315,61,5631,563,1,321,56,231,561,53,156,1,56,321,56,89456]
# list2 = list(set(list1))
# list2.sort(reverse=True)
# print(list2)

# 四、字符串练习题 ：
# 1、计算用户输入的字符串内容中有几个十进制数字？几个字母？
# 如：asduiaf878123jkjsfd-‐213928
# 数字有12个。
# 字母有13个
# str1 = "asduiaf878123jkjsfd-‐213928"
# int_num = 0
# str_num = 0
# for i in range(len(str1)):
#     if str1[i] in "1234567890":
#         int_num +=1
#     elif (ord(str1[i]) >=65 and ord(str1[i]) <=90) or (ord(str1[i]) >= 97 and ord(str1[i]) <=122):
#         str_num+=1
# print(f"整数有{int_num}个，字母有{str_num}个")
# for i in range(len(str1)):
#     if str1[i] in "1234567890":
#         int_num +=1
#     elif (str1[i] >='a' and str1[i] <='z') or (str1[i] >='A' and str1[i] <='Z'):
#         str_num+=1
# print(f"整数有{int_num}个，字母有{str_num}个")

# 2、开发敏感词语过滤程序，提示用户输入内容，如果用户输入的内容中包含特殊的字符：
# 如 "t" ,"l", "f" 则将内容替换为***
# str1 = input("请输入内容")
# str2 = ""
# for i in str1:
#     if i == "t":
#         str2 +="***"
#     elif i =="l":
#         str2+="***"
#     elif i=="f":
#         str2+="***"
#     else:
#         str2+=i
# print(str2)



# 3、制作随机验证码，不区分大小写
# 流程：
# 随机产生6位验证码（字母数字组成）
# 给用户显示需要输入验证码
# 用户输入的值
# 用户输入的值和显示的值相同时显示正确的信息，否则继续生成新的验证码等待用户输入
# import random
#
# while True:
#     code_list = []
#     for i in range(6):
#         str1 = random.randint(97, 122)  # 97 122
#         str2 = random.randint(0, 9)
#         if i <3:
#             code_list.append(chr(str1))
#         elif i >2 and i < 6:
#             code_list.append(str2)
#     str3 = ""
#     for i in code_list:
#         str3+=str(i)
#     print(f"生成的验证码是{str3}")
#     code = input("输入验证码")
#     if str3 == code:
#         print("输入正确了")
#         break

# 好友管理系统
# 1、实验题目：好友管理系统
# 请设计一个好友管理系统，每个功能都对应一个序号，用户可根据提示"请输入您的选项"选择序号执行相应的操作，包括：
# （1）添加好友：用户根据提示"请输入要添加的好友："输入要添加好友的姓名，添加后会提示"好友添加成功"。
# （2）删除好友：用户根据提示"请输入删除好友姓名："输入要删除好友的姓名，删除后提示"删除成功"。
# （3）备注好友：用户根据提示"请输入要修改的好友姓名："和"请输入修改后的好友姓名："分别输入修改前和修改后的好友姓名，修改后会提示"备注成功"。
# （4）展示好友：若用户还没有添加过好友，提示"好友列表为空"，否则返回每个好友的姓名。
# （5）退出：关闭好友系统。
list1 = []
while True:
    print("欢迎来到好友管理系统： \n (1）添加好友 \n (2)删除好友 \n (3)备注好友 \n (4)展示好友 \n (5)退出")
    num = input("请你输入序号")
    if num == "1":
        name = input("请输入要添加的好友姓名")
        list1.append({"姓名":name})
        print("好友添加成功！")
    elif num == "2":
        name = input("请输入您要删除的好友姓名")
        for i in range(len(list1)):
            try:
                if list1[i]['姓名'] == name:
                    list1.pop(i)
                    print("删除好友成功！")
            except:
                print("没有这个人，你删不了")
    elif num == "3":
        old_name = input("请输入要修改的姓名")
        new_name = input("请输入修改后的姓名")
        for i in range(len(list1)):
            try:
                if list1[i]['姓名'] == old_name:
                    list1[i]['姓名'] = new_name
                    print("改完了")
            except:
                print("没有这个人，你改不了")
    elif num == "4":
        if list1:
            print(list1)
        else:
            print("好友列表为空")
    elif num == "5":
        print("关闭好友管理系统")
        break
